// 在vue2中我们可以使用混入属性在各个组件中使用axios请求方法,但是在vue3中不推荐使用 如此我们可以使用 组合式 API
/*
如你所见，核心逻辑完全一致，我们做的只是把它移到一个外部函数中去，并返回需要暴露的状态。
和在组件中一样，你也可以在组合式函数中使用所有的组合式 API。
现在，xxx() 的功能可以在任何组件中轻易复用了。
更酷的是，你还可以嵌套多个组合式函数：一个组合式函数可以调用一个或多个其他的组合式函数。
这使得我们可以像使用多个组件组合成整个应用一样，用多个较小且逻辑独立的单元来组合形成复杂的逻辑。
实际上，这正是为什么我们决定将实现了这一设计模式的 API 集合命名为组合式 API。
*/
import {ref} from "vue";
import serve from "@/api/server";

export default () => {
    //定义一个封装axios请求的函数
    //返回axios请求函数
    return (params, callback) => {
        serve({
            method: params.method || 'POST',
            url: params.url,
            data: params.data || {},
            withCredentials: true,
            params: params.payload || {},
            headers: {
                'Content-type': params.contentType || 'application/json;charset=utf-8'
            }
        }).then(res => {
            if (res && res.data) {
                console.log(res.status);
                callback && callback(res.data)
            }
        }, error => {

        }).catch((error) => {
            alert('出错啦')
        })
    }
}



